This invention relates to the field of formatting handwritten data displayed on computer systems.
A typical computer system may include a central processing unit (CPU), main memory such as random access memory (RAM), a data-entry device including a positioning device, a mass storage device such as one or more disk drives, a display, and a printer. In previously known computers, the data-entry device has often consisted of a keyboard, which a user uses to enter data by typing. The positioning device of a previously known computer system may have consisted of a "mouse" or some other cursor-positioning device.
Computer systems have also been developed which accept handwritten data entry instead of keyboard data entry. These systems are often characterized by the use of a pen, stylus, or other writing device to enter handwritten data directly on the display of the computer system. Alternatively, these systems may provide a user with the ability to enter data on a digitizing tablet or other input device, with the image of the written input data displayed on a separate computer display or output device. The writing instrument for entering handwritten input information in the form of free-style strokes is not limited to a pen or stylus. Instead, the instrument may be any other input device such as a mouse, track-ball, pointer, or even a user's fingers. In addition, computer systems capable of accepting handwritten data are not necessarily limited to receiving data generated by human users. For example, machine-generated data may also be inputted into and accepted by such systems.
Computers in one class of handwriting-entry computer systems are referred to as "pen-based" computers. In a pen-based computer system, a writer can input information on a display by "writing" directly on the display. A writing device, such as a pen or stylus, is used to enter information on the display. In a typical pen-based computer system, a user touches the stylus to the display and writes as he or she would on a piece of paper--that is, by making a series of pen strokes to form letters or words. A resulting line or curve appears on the display, following the path of travel of the pen point so that the pen strokes appear on the display as digital "ink" just as handwritten ink would appear on a notebook page. Thus, the user can enter information into the computer by writing directly on the display. Pen-based computers typically have a display surface that serves as both an input receiving device and as an output display device.
Generally, a pen-based computer system captures digital ink in the form of many polylines. A polyline is a line or curve between the point where the tip of the stylus makes contact with the writing surface and the point where the tip of the stylus leaves the writing surface. A polyline can be described as a line between a "pen down" event to a "pen up" event; it can be viewed as a stroke. Thus, the terms "polyline" and "stroke" can be used interchangeably for purposes of this application.
The system samples points along a each handwritten stroke or polyline at a predetermined sampling frequency. Those points represent the inputted graphic data and are digitally stored in memory. The system derives an image of the graphic data by connecting the stored points with line segments. Thus, each polyline is a collection of the line segments connecting the stored points.
Pen-based computers can typically sample handwritten data at a rate of up to 200 sampled points per second. Graphic data inputted by a mouse is typically sampled at about 20 samples per second.
The number of sampled points per polyline varies inversely with the speed with which the graphic data is handwritten: the faster the handwriting, the fewer the number of sampled points per stroke or polyline; and the slower the handwriting, the greater the number of sampled points per stroke polyline. A typical page of digital ink could contain hundreds of polylines and tens of thousands of sampled points. In addition, there can be a variety of colors, line-thicknesses, and patterns represented by the ink.
A particular problem faced by a user of a pen-based computer system is the amount of time that is typically required for the system to display, upon the user's prompt, the digital ink representing the graphic data. Generally, displaying the ink can take several seconds. Waiting for the system to fully render and display the ink can often impede or interrupt the user's work flow or train of thought. Moreover, this waiting time often is simply frustrating and irritating to the user. The time that the user is forced to wait for the computer system to display graphic information can become even more annoying when the user is not actually trying to work on the data field or page being displayed, but merely trying to glance through several screens, representing fields or pages, to become familiar with their contents before settling on one particular screen, or to find a particular screen.
Most computers with handwritten data capabilities use the built-in tools of the windowing system being invoked (such as PenPoint.TM. from GO Corporation, of Foster City, Calif., and Microsoft Windows for Pen.TM. from Microsoft Corporation, of Redmond, Wash.) to draw polylines--setting pen colors and pen styles (such as thickness, shade, and fill-in) as needed.
Other systems draw, using the manner of sampling described above, into an off-screen bitmap, and then display the bitmap. These methods and devices can accommodate "instant" screen updates, but they still generally require several seconds to create a bitmap representing the graphic data.
Existing computer systems and the abovedescribed methods and devices of displaying digital ink are not well suited for allowing a user of a pen-based system to glance through data fields on the system's display as one would typically flip through pages in an actual paper notebook. Allowing the user to rapidly view the contents of selected data fields as though he or she were rapidly turning pages requires a faster method and device for storing and displaying recognizable digital ink.
Thus, it would be desirable to be able to provide a computer system capable of accepting handwritten, graphic data entry that allows the user to rapidly flip through pages of graphic data.
It would also be desirable for the system to allow the user to recognize the contents of each page being quickly flipped based on only the passing glance that the user gets of each page.
It would further be desirable for such a system to store the graphic data efficiently and thus operate free of excessive memory usage in providing the above abilities to the user.